﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SimpleRest.Core
{
    /// <summary>
    /// Logical representation of an input parameter for an associated operation (or MethodInfo object).
    /// </summary>
    public class OperationParameter
    {
        public OperationParameter(Type type, string name, bool isOptional, bool isHttpBody)
        {
            this.Type = type;
            this.Name = name;
            this.IsOptional = isOptional;
            this.IsHttpBody = isHttpBody;
        }

        /// <summary>
        /// Type of the input parameter.
        /// </summary>
        public Type Type { get; private set; }
        /// <summary>
        /// Name of the input parameter.
        /// </summary>
        public string Name { get; private set; }
        /// <summary>
        /// Determines if the input parameter is optional or not.
        /// </summary>
        public bool IsOptional { get; private set; }
        public bool IsHttpBody { get; set; }
    }
}
